/*
 * @(#)UsfActionInvocation.java $version 2010. 8. 11
 *
 * Copyright 2007-2010 NHN Corp. All rights Reserved. 
 * NHN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.nhncorp.usf.core.xwork;

import java.util.Map;

import com.nhncorp.usf.core.config.runtime.Action;
import com.nhncorp.usf.core.config.runtime.PageInfo;
import com.nhncorp.usf.core.config.runtime.ResultPageInfo;

import com.opensymphony.xwork.ActionInvocation;

/**
 * extends {@link ActionInvocation} for usf.
 *
 * @author Web Platform Development Team
 */
public interface UsfActionInvocation extends ActionInvocation {
    /**
     * Return {@link PageInfo}.
     * 
     * @return the PageInfo
     */
    PageInfo getPageInfo();

    /**
     * Return {@link Action}.
     * 
     * @return the Action
     */
    Action getActionInfo();

    /**
     * return {@link Map} contained data from client.
     * 
     * @return the result data map
     */
    Map<String, Object> getDataMap();

    /**
     * set the failureCode.
     * It will be called by Interceptor and used by method named doServiceExecute.
     * 
     * @param failureCode the failure code
     */
    void setFailureCode(String failureCode);

    /**
     * return final {@link ResultPageInfo}
     * 
     * @return the ResultPageInfo
     */
    ResultPageInfo getResultPageInfo();
}
